/*
Copyright (c) [2019年5月1日] [吴超]
[MBT_Studio] is licensed under Mulan PSL v2.
You can use this software according to the terms and conditions of the Mulan PSL v2.
You may obtain a copy of Mulan PSL v2 at:
		 http://license.coscl.org.cn/MulanPSL2
THIS SOFTWARE IS PROVIDED ON AN "AS IS" BASIS, WITHOUT WARRANTIES OF ANY KIND,
EITHER EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO NON-INFRINGEMENT,
MERCHANTABILITY OR FIT FOR A PARTICULAR PURPOSE.
See the Mulan PSL v2 for more details.
*/
#pragma once


#include "框架/工作区/节点构建.h"





C_节点面板* f_节点构建_视频(S_UI创建环境& ctx, C_节点基类* node = 0);

C_节点面板* f_节点构建_接收UDP图像(S_UI创建环境& ctx, C_节点基类* node = 0);



void		f_节点重置_视频(C_节点面板* panel, C_节点基类* node);
void		f_节点重置_接收UDP图像(C_节点面板* panel, C_节点基类* node);

C_节点面板* f_节点构建_材质槽(S_UI创建环境& ctx, S_设备环境& ctx_3d, C_节点基类* node = 0, C_节点树* tree = nullptr);
void		f_节点重置_材质槽(C_节点面板* panel, C_节点基类* node);

C_节点面板* f_节点构建_材质(S_UI创建环境& ctx, S_设备环境& ctx_3d, C_节点基类* node = 0, C_节点树* tree = nullptr);
void		f_节点重置_材质(C_节点面板* panel, C_节点基类* node);

C_节点面板* f_节点构建_当前材质(S_UI创建环境& ctx, S_设备环境& ctx_3d, C_节点基类* node = 0, C_节点树* tree = nullptr);
void		f_节点重置_当前材质(C_节点面板* panel, C_节点基类* node);

C_节点面板* f_节点构建_着色器(S_UI创建环境& ctx, S_设备环境& ctx_3d, C_节点基类* node = 0, C_节点树* tree = nullptr);
void		f_节点重置_着色器(C_节点面板* panel, C_节点基类* node);

C_节点面板* f_节点构建_自发光材质(S_UI创建环境& ctx, S_设备环境& ctx_3d, C_节点基类* node = 0, C_节点树* tree = nullptr);
void		f_节点重置_自发光材质(C_节点面板* panel, C_节点基类* node);

C_节点面板* f_节点构建_纹理(S_UI创建环境& ctx, S_设备环境& ctx_3d, C_节点基类* node = 0, C_节点树* tree = nullptr);
void		f_节点重置_纹理(C_节点面板* panel, C_节点基类* node);

C_节点面板* f_节点构建_外部纹理(S_UI创建环境& ctx, S_设备环境& ctx_3d, C_节点基类* node = 0, C_节点树* tree = nullptr);
void		f_节点重置_外部纹理(C_节点面板* panel, C_节点基类* node);

C_节点面板* f_节点构建_外部纹理集(S_UI创建环境& ctx, S_设备环境& ctx_3d, C_节点基类* node = 0, C_节点树* tree = nullptr);
void		f_节点重置_外部纹理集(C_节点面板* panel, C_节点基类* node);

C_节点面板* f_节点构建_渐变纹理(S_UI创建环境& ctx, S_设备环境& ctx_3d, C_节点基类* node = 0, C_节点树* tree = nullptr);
void		f_节点重置_渐变纹理(C_节点面板* panel, C_节点基类* node);

C_节点面板* f_节点构建_棋盘格纹理(S_UI创建环境& ctx, S_设备环境& ctx_3d, C_节点基类* node = 0, C_节点树* tree = nullptr);
void		f_节点重置_棋盘格纹理(C_节点面板* panel, C_节点基类* node);

C_节点面板* f_节点构建_噪波纹理属性(S_UI创建环境& ctx, S_设备环境& ctx_3d, C_节点基类* node = 0, C_节点树* tree = nullptr);
void		f_节点重置_噪波纹理属性(C_节点面板* panel, C_节点基类* node);

C_节点面板* f_节点构建_2D纹理采样(S_UI创建环境& ctx, S_设备环境& ctx_3d, C_节点基类* node = 0, C_节点树* tree = nullptr);
void		f_节点重置_2D纹理采样(C_节点面板* panel, C_节点基类* node);

C_节点面板* f_节点构建_设置物体材质(S_UI创建环境& ctx, S_设备环境& ctx_3d, C_节点基类* node = 0, C_节点树* tree = nullptr);
void		f_节点重置_设置物体材质(C_节点面板* panel, C_节点基类* node);

C_节点面板* f_节点构建_设置PBR材质属性(S_UI创建环境& ctx, S_设备环境& ctx_3d, C_节点基类* node = 0, C_节点树* tree = nullptr);
void		f_节点重置_设置PBR材质属性(C_节点面板* panel, C_节点基类* node);

C_节点面板* f_节点构建_基于物理计算着色(S_UI创建环境& ctx, S_设备环境& ctx_3d, C_节点基类* node = 0, C_节点树* tree = nullptr);
void		f_节点重置_基于物理计算着色(C_节点面板* panel, C_节点基类* node);

C_节点面板* f_节点构建_几何数据(S_UI创建环境& ctx, S_设备环境& ctx_3d, C_节点基类* node = 0, C_节点树* tree = nullptr);
void		f_节点重置_几何数据(C_节点面板* panel, C_节点基类* node);

C_节点面板* f_节点构建_光线数据(S_UI创建环境& ctx, S_设备环境& ctx_3d, C_节点基类* node = 0, C_节点树* tree = nullptr);
void		f_节点重置_光线数据(C_节点面板* panel, C_节点基类* node);

C_节点面板* f_节点构建_几何UV数据(S_UI创建环境& ctx, S_设备环境& ctx_3d, C_节点基类* node = 0, C_节点树* tree = nullptr);
void		f_节点重置_几何UV数据(C_节点面板* panel, C_节点基类* node);


void f_节点构建_设置外部文件节点参数(C_节点面板* panel, const std::string& path);






